#include <stdio.h>
#include <stdlib.h>

typedef unsigned char *byte_pointer;

void show_bytes(byte_pointer start, size_t len) {
    size_t i;
    for(i=0; i<len; i++)
        printf(" %.2x", start[i]);
    printf("\n");
}

void show_int(int x) {
    size_t len=sizeof(int);
    show_bytes((byte_pointer) &x, len);
    byte_pointer start=(byte_pointer) &x;
    int i, j;
    for(i=0; i<11; i++)
        printf(" ");
    for(i=0; i<len; i++){
        for(j=0; j<8; j++){
            printf("%d", (start[i]>>j) & 0x1);
        }
    }
    printf("\n");
}

void show_float(float x) {
    size_t len=sizeof(float);
    show_bytes((byte_pointer) &x, len);
    byte_pointer start=(byte_pointer) &x;
    int i, j;
    for(i=0; i<len; i++){
        for(j=0; j<8; j++){
            printf("%d", (start[i]>>j) & 0x1);
        }
    }
    printf("\n");
}

void show_pointer(void  *x) {
    show_bytes((byte_pointer) &x, sizeof(void *));
}

void test_show_bytes(int val) {
    int ival=val;
    float fval=(float)ival;
    int *pval=&ival;
    show_int(ival);
    int i;
    for(i=0;i<11;i++){
        printf(" ");
    }
    for(i=0;i<13;i++)
        printf("*");
    printf("\n");
    show_float(fval);
}

void main() {
    int val;
    scanf("%d", &val);
    test_show_bytes(val);
}
